home *** CD-ROM | disk | FTP | other *** search
- Subject: app_defs
- Date: Thu, 28 Jul 1994 12:01:59 +1000
- From: Warwick Allison <warwick@cs.uq.oz.au>
- Precedence: bulk
-
-
- Ofir:
- >[re: other attributes than shortcuts in the app_defs file]
- >
- >I think the best thing is to do a stage at a time. It's fine setting
- >zillions of standards, it's another thing getting them implemented. The
- >more we do the less support we get.
- >
- >The first app-defs file should only deal with keyboard shortcuts. The
- >file format should be open so that we could add more things at a later
- >stage.
-
- Choices we make for the names of attributes in the app_defs file don't
- require any implementation: they're just choices so as to have commonality
- for any apps that want the same attributes. It's like choosing a cookie:
- doesn't really matter what it is, provided everyone knows.
-
-
- Summary of the issues I can think of:
-
- 1. Format (eg. see below)
- 2. Significance of order of entries (eg. does later override former?)
- 3. Location (eg. C:\SYSTEM)
- 4. Attribute names (eg. keyOpen? shortcutOpen? etc.)
- 5. Value representations (eg. ^C? Ctrl-C? Shift-X? 0x6643?)
- 6. Attributes other than shortcuts.
-
- Inlike the short-cuts file, I think we should be able to come to agreement
- pretty easily on this, as (1) it is fairly simple to implement (2) there is
- no real existing standard [do we count assign.sys :)] (3) it doesn't involve
- many concerns for the user [as Ofir said - many of them will never touch it].
-
-
- Re the format,
-
- It may be useful to have a `type' code for each atrribute-value pair in
- the app_defs.sys file, to facilitate editing via a tool. For example:
-
-
- *.papyrus*.key.openFile: KEY = ^O
- *.papyrus*.font: FNT = Gemini 10pt
- *.papyrus*.key.newFile: KEY = 0x00380402=F1 // Pretend this is the F1 code
- *.papyrus*.fgColor*: COL = Purple
- *.papyrus*.bgColor*: COL = 0x00150315 // Pretend this is a nice colour
- *.tempFile*: FIL = f:\tmp
- *.foo.name*: TXT = Hello World
-
- <attribute-pattern> ":" <type> "=" <value>
-
- Anyone not like the ":" and "="? They're redundant anyway:
-
- <attribute-pattern-no-spaces> <whitespace> <type-no-space> <value>
-
- The type need not be 3 characters.
-
- A app_defs.sys editing tool could then know how what to do with ALL
- lines as far as allowing the user to edit them. It also helps the user
- to know what they can put for an option. Applications reading the
- app_defs.sys file could either ignore the type, or just check that it
- is as expected. Only one type should be allowed for each attribute,
- but different forms of representing the value of that type in text may
- be allowed (such as the text "^O" and the scancode+menuname "0x00380402=F1").
- All apps should support the same conversions from value text to actual
- value, so the choices should be kept pretty small.
-
- The format of an attribute could be:
-
- <application-type>.<application-name>.{<window>|<other qualifier>}.<name>
-
- It doesn't really matter what the format is, as all an application needs
- to do is a wildcard match against it.
-
- Standard application-types could be:
-
- word
- image
- dtp
- util
- game
-
- The purpose of the application-type is to allow class-wide attributes,
- such as:
-
- game.*.hog_cpu: true
-
- It's just an option - I'm not dead-set on the idea, but it costs us nothing,
- since we can just pattern-match anyway.
-
- David Oakley:
- >For keys, I think we need to formalise as many keys as are used in a wide
- >number of applications. This means all of the keys that Atari/GemList
- >specify, plus a few more if we can think of them.
-
- That's a good idea. If only to define the names of the attributes. eg, I
- might have:
-
- *.nethack*.key.saveAndQuit: Shift-S
-
- But I don't expect us to make a `standard default' for saveAndQuit.
- There are many others. Basically, we can just take a look at all the
- menu items in all the programs we have and divide them into 4 groups:
-
- 1. standard (eg. Open)
- 2. not standard (eg. Load)
- 3. common (eg. Goto Mark)
- 4. not common (eg. Offer Corpse To God)
-
- (1) and (3) should have names chosen for them.
- (1) should have standard defaults decided for them (which we've almost done).
- (2) should be listed in gemlist docs as Do Not Use, along with proper term.
- (4) can be ignored.
-
- >Dialogs in Windows (on/off)
- >Novice User Help (on/off)
- >Confirm on Exit/Save on Exit
- >Default Window Size
-
- Here's some *possibilities* (not sure they're that useful):
-
- WindowGadgets (MOVER|...)
- WindowGeometry 80x25+10+10
- SizingProtocol (click-move-click / drag)
- MovingProtocol (click-move-click / drag)
- PopupProtocol (pop-up / drop-down / ...)
- User.Handedness (left / right) // Hey! It' might be useful :)
- Keyboard Focus (mouse/top/click) Ouch, Ofir, stop hitting me! Ouch! Oooof.
- (just to give it a standard name - I'm not saying people should use it,
- just that if they do, this is how it is enabled)
-
- >Auto Save Prefs on Exit
-
- This is an interesting one. Will there BE any `preferences' dialog, once
- we have an app_defs.sys file and a GUI for editing it? Some of the issues
- are: do you want to set window positions outside the application? should
- an application modify the app_defs.sys file on a `save preferences' operation?
-
- Note that the above can still all be configured on a per-application basis,
- so even if you generally hate `Confirm on Exit', there might be a couple of
- applications for which you enable it.
-
-
-
- BTW, I volunteer to make an app_defs.sys editor. (of course, it will be 500K ;)
-
- chrisridd:
- >What we *should* be doing, IMHO, is proposing and voting for the
- >existence of a shortcut file or files, and only then discussing the
- >precise contents of it. The whole voting period should be much shorter
- >too, as this list is very active :-) Say two weeks per vote.
-
- Voting before discussion? That's not very democratic. It's like voting
- for a parliament, THEN letting them discuss policy.
-
- I've certainly changed my mind about a lot of things since listenning
- to the other list subscribers. Preclude discussion and you end up with
- the type of standards comittees you often get in industry: where
- everyone is just trying to make THEIR PRODUCT the standard, regardless
- of its merits.
-
- --
- Warwick
-